Platform Explorer / Nuxeo Platform LTS 2017 9.10

Contribution org.nuxeo.ecm.admin.oauth.directoryLayoutContrib--layouts

This contribution is part of XML component org.nuxeo.ecm.admin.oauth.directoryLayoutContrib inside nuxeo-admin-center-oauth-9.10.jar /OSGI-INF/directory-layout-contrib.xml

Extension Point

Extension point layouts of component WebLayoutManager.

Contributed Items

  • <layout name="oauth2ClientsLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>clientName</widget>
            </row>
            <row>
              <widget>clientId</widget>
            </row>
            <row>
              <widget>clientSecret</widget>
            </row>
            <row>
              <widget>redirectURIs</widget>
            </row>
            <row>
              <widget>autoGrant</widget>
            </row>
            <row>
              <widget>enabled</widget>
            </row>
    
          </rows>
    
          <widget name="clientName" type="text">
            <labels>
              <label mode="any">label.oauth2.name</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Client.name</field>
            </fields>
            <properties mode="any">
              <property name="help">
                label.oauth2.help.name
              </property>
            </properties>
            <properties widgetMode="edit">
              <property name="required">true</property>
            </properties>
          </widget>
          <widget name="clientId" type="text">
            <labels>
              <label mode="any">label.oauth2.clientId</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Client.clientId</field>
            </fields>
            <properties mode="any">
              <property name="help">
                label.oauth2.help.clientId
              </property>
            </properties>
            <properties widgetMode="edit">
              <property name="required">true</property>
              <property name="validator">#{oauth2ClientsActions.validateClientId}</property>
            </properties>
          </widget>
          <widget name="clientSecret" type="text">
            <labels>
              <label mode="any">label.oauth2.clientSecret</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Client.clientSecret</field>
            </fields>
            <properties mode="any">
              <property name="help">
                label.oauth2.help.clientSecret
              </property>
            </properties>
          </widget>
          <widget name="redirectURIs" type="text">
            <labels>
              <label mode="any">label.oauth2.redirectURIs</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Client.redirectURIs</field>
            </fields>
            <properties mode="any">
              <property name="help">
                label.oauth2.help.redirectURIs
              </property>
            </properties>
            <properties widgetMode="edit">
              <property name="required">true</property>
              <property name="validator">#{oauth2ClientsActions.validateRedirectURIs}</property>
              <property name="placeholder">#{messages['label.oauth2.redirectURIs.placeholder']}</property>
            </properties>
          </widget>
          <widget name="autoGrant" type="checkbox">
            <labels>
              <label mode="any">label.oauth2.autoGrant</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Client.autoGrant</field>
            </fields>
            <properties mode="any">
              <property name="help">
                label.oauth2.help.autoGrant
              </property>
            </properties>
          </widget>
          <widget name="enabled" type="checkbox">
            <labels>
              <label mode="any">label.oauth2.enabled</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Client.enabled</field>
            </fields>
          </widget>
        </layout>
  • <layout name="oauthConsumerLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>consumerKey</widget>
            </row>
            <row>
              <widget>consumerSecret</widget>
            </row>
            <row>
              <widget>publicKey</widget>
            </row>
            <row>
              <widget>description</widget>
            </row>
            <row>
              <widget>signedFetchSupport</widget>
              <widget>dedicatedLogin</widget>
            </row>
            <row>
              <widget>callbackURL</widget>
            </row>
            <row>
              <widget>allowBypassVerifier</widget>
            </row>
            <row>
              <widget>enabled</widget>
            </row>
    
          </rows>
    
          <widget name="consumerKey" type="text">
            <labels>
              <label mode="any">Consumer Key</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.consumerKey</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.consumerKey
              </property>
            </properties>
          </widget>
          <widget name="consumerSecret" type="text">
            <labels>
              <label mode="any">Consumer Secret (HMAC Signature) </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.consumerSecret</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.consumerSecret
              </property>
            </properties>
          </widget>
          <widget name="publicKey" type="textarea">
            <labels>
              <label mode="any">Consumer Public Key (RSA Signature) </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.publicKey</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.publicKey
              </property>
            </properties>
          </widget>
          <widget name="enabled" type="checkbox">
            <labels>
              <label mode="any">Enabled</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.enabled</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.enabled
              </property>
            </properties>
          </widget>
          <widget name="description" type="text">
            <labels>
              <label mode="any">Description</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.description</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.description
              </property>
            </properties>
          </widget>
          <widget name="signedFetchSupport" type="template">
            <labels>
              <label mode="any">Allow 2 legged auth</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.signedFetchSupport</field>
              <field>oauthConsumer.dedicatedLogin</field>
            </fields>
            <properties mode="any">
            <property name="template">
              /widgets/signedFetch_widget_template.xhtml
            </property>
            <property name="help">
            label.oauth.help.signedFetchSupport
            </property>
            </properties>
          </widget>
          <widget name="callbackURL" type="text">
            <labels>
              <label mode="any">Callback URL</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.callbackURL</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.callbackURL
              </property>
            </properties>
          </widget>
          <widget name="allowBypassVerifier" type="checkbox">
            <labels>
              <label mode="any">Allow OAuth verifier check bypass</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthConsumer.allowBypassVerifier</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.enabled
              </property>
            </properties>
          </widget>
    
        </layout>
  • <layout name="oauthServiceProviderLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>gadgetUrl</widget>
            </row>
            <row>
              <widget>serviceName</widget>
            </row>
            <row>
              <widget>consumerKey</widget>
            </row>
            <row>
              <widget>consumerSecret</widget>
            </row>
            <!--<row>
              <widget>publicKey</widget>
            </row>-->
            <row>
              <widget>description</widget>
            </row>
            <row>
              <widget>requestTokenURL</widget>
            </row>
            <row>
              <widget>userAuthorizationURL</widget>
            </row>
            <row>
              <widget>accessTokenURL</widget>
            </row>
            <row>
              <widget>enabled</widget>
            </row>
          </rows>
    
          <widget name="consumerKey" type="text">
            <labels>
              <label mode="any">Consumer Key</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.consumerKey</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.consumerKey
              </property>
              <property name="size">60</property>
            </properties>
          </widget>
          <widget name="consumerSecret" type="text">
            <labels>
              <label mode="any">Consumer Secret (HMAC Signature) </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.consumerSecret</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.consumerSecret
              </property>
              <property name="size">60</property>
            </properties>
          </widget>
          <widget name="publicKey" type="text">
            <labels>
              <label mode="any">Consumer Public Key (RSA Signature) </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.publicKey</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.publicKey
              </property>
              <property name="size">100</property>
            </properties>
          </widget>
          <widget name="enabled" type="checkbox">
            <labels>
              <label mode="any">Enabled</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.enabled</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.enabled
              </property>
            </properties>
          </widget>
          <widget name="description" type="text">
            <labels>
              <label mode="any">Description</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.description</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.description
              </property>
              <property name="size">30</property>
            </properties>
          </widget>
          <widget name="requestTokenURL" type="text">
            <labels>
              <label mode="any">Request Token URL</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.requestTokenURL</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.requestTokenURL
              </property>
              <property name="size">50</property>
            </properties>
          </widget>
          <widget name="userAuthorizationURL" type="text">
            <labels>
              <label mode="any">Authorization URL</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.userAuthorizationURL</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.userAuthorizationURL
              </property>
              <property name="size">50</property>
            </properties>
          </widget>
          <widget name="accessTokenURL" type="text">
            <labels>
              <label mode="any">AccessToken URL</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.accessTokenURL</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.accessTokenURL
              </property>
              <property name="size">50</property>
            </properties>
          </widget>
          <widget name="gadgetUrl" type="text">
            <labels>
              <label mode="any">Gadget URL</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.gadgetUrl</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.gadgetUrl
              </property>
              <property name="size">50</property>
            </properties>
          </widget>
          <widget name="serviceName" type="text">
            <labels>
              <label mode="any">Service name</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthServiceProvider.serviceName</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.serviceName
              </property>
            </properties>
          </widget>
    
        </layout>
  • <layout name="oauth2ServiceProviderLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>serviceName</widget>
            </row>
            <row>
              <widget>description</widget>
            </row>
            <row>
              <widget>clientId</widget>
            </row>
            <row>
              <widget>clientSecret</widget>
            </row>
            <row>
              <widget>authorizationServerURL</widget>
            </row>
            <row>
              <widget>tokenServerURL</widget>
            </row>
            <row>
              <widget>userAuthorizationURL</widget>
            </row>
            <row>
              <widget>scopes</widget>
            </row>
            <row>
              <widget>enabled</widget>
            </row>
          </rows>
    
          <widget name="serviceName" type="text">
            <labels>
              <label mode="any">Service Name</label>
            </labels>
            <fields>
              <field>oauth2ServiceProvider.serviceName</field>
            </fields>
          </widget>
          <widget name="authorizationServerURL" type="text">
            <labels>
              <label mode="any">Authorization Server URL</label>
            </labels>
            <fields>
              <field>oauth2ServiceProvider.authorizationServerURL</field>
            </fields>
            <properties mode="edit">
               <property name="size">50</property>
            </properties>
            <widgetModes>
              <mode value="view_list">hidden</mode>
              <mode value="view_list_and_header">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="tokenServerURL" type="text">
            <labels>
              <label mode="any">Token Server URL</label>
            </labels>
            <fields>
              <field>oauth2ServiceProvider.tokenServerURL</field>
            </fields>
            <properties mode="edit">
               <property name="size">50</property>
            </properties>
            <widgetModes>
              <mode value="view_list">hidden</mode>
              <mode value="view_list_and_header">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="clientId" type="text">
            <labels>
              <label mode="any">ClientID</label>
            </labels>
            <fields>
              <field>oauth2ServiceProvider.clientId</field>
            </fields>
            <properties mode="edit">
               <property name="size">40</property>
            </properties>
            <widgetModes>
              <mode value="view_list">hidden</mode>
              <mode value="view_list_and_header">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="userAuthorizationURL" type="text">
            <labels>
              <label mode="any">User Authorization URL</label>
            </labels>
            <fields>
              <field>oauth2ServiceProvider.userAuthorizationURL</field>
            </fields>
            <properties mode="edit">
               <property name="size">50</property>
            </properties>
            <widgetModes>
              <mode value="view_list">hidden</mode>
              <mode value="view_list_and_header">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="clientSecret" type="text">
            <labels>
              <label mode="any">Client Secret</label>
            </labels>
            <fields>
              <field>oauth2ServiceProvider.clientSecret</field>
            </fields>
            <properties mode="edit">
               <property name="size">60</property>
            </properties>
            <widgetModes>
              <mode value="view_list">hidden</mode>
              <mode value="view_list_and_header">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="scopes" type="text">
            <labels>
              <label mode="any">Scopes</label>
            </labels>
            <fields>
              <field>oauth2ServiceProvider.scopes</field>
            </fields>
            <widgetModes>
              <mode value="view_list">hidden</mode>
              <mode value="view_list_and_header">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="enabled" type="checkbox">
            <labels>
              <label mode="any">Enabled</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2ServiceProvider.enabled</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.enabled
              </property>
            </properties>
          </widget>
          <widget name="description" type="text">
            <labels>
              <label mode="any">Description</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2ServiceProvider.description</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.description
              </property>
            </properties>
          </widget>
    
        </layout>
  • <layout name="externalGadgetLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>id</widget>
            </row>
            <row>
              <widget>label</widget>
            </row>
            <row>
              <widget>enabled</widget>
            </row>
            <row>
              <widget>category</widget>
            </row>
            <row>
              <widget>url</widget>
            </row>
          </rows>
    
          <widget name="id" type="text">
            <labels>
              <label mode="any">label.externalGadgetLayoutAdmin.name</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>externalgadget.id</field>
            </fields>
          </widget>
          <widget name="label" type="text">
            <labels>
              <label mode="any">label.externalGadgetLayoutAdmin.label</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>externalgadget.label</field>
            </fields>
          </widget>
          <widget name="enabled" type="template">
            <labels>
              <label mode="any">label.externalGadgetLayoutAdmin.enabled</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>externalgadget.enabled</field>
            </fields>
            <properties mode="any">
            <property name="template">
              /widgets/integer_yes_no_widget_template.xhtml
            </property>
          </properties>
    
          </widget>
          <widget name="category" type="text">
            <labels>
              <label mode="any">label.externalGadgetLayoutAdmin.category</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>externalgadget.category</field>
            </fields>
          </widget>
          <widget name="url" type="text">
            <labels>
              <label mode="any">label.externalGadgetLayoutAdmin.gadgeturl</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>externalgadget.url</field>
            </fields>
          </widget>
    
          <widget name="iconUrl" type="text">
            <labels>
              <label mode="any">label.externalGadgetLayoutAdmin.iconurl</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>externalgadget.iconUrl</field>
            </fields>
          </widget>
    
        </layout>
  • <layout name="oauthConsumerTokenLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>appId</widget>
            </row>
            <row>
              <widget>consumerKey</widget>
            </row>
            <row>
              <widget>token</widget>
            </row>
            <row>
              <widget>tokenSecret</widget>
            </row>
            <row>
              <widget>nuxeoLogin</widget>
            </row>
            <row>
              <widget>creationDate</widget>
            </row>
            <row>
              <widget>duration</widget>
            </row>
          </rows>
    
          <widget name="consumerKey" type="text">
            <labels>
              <label mode="any">Consumer Key</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.consumerKey</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.consumerKey
              </property>
            </properties>
          </widget>
    
          <widget name="appId" type="text">
            <labels>
              <label mode="any">AppId (Gadget) </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.appId</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.appId
              </property>
            </properties>
          </widget>
    
          <widget name="token" type="text">
            <labels>
              <label mode="any">OAUth Token </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.token</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.token
              </property>
            </properties>
          </widget>
    
          <widget name="tokenSecret" type="text">
            <labels>
              <label mode="any">OAUth Token Secret</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.tokenSecret</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.tokenSecret
              </property>
            </properties>
          </widget>
    
          <widget name="nuxeoLogin" type="text">
            <labels>
              <label mode="any">Nuxeo Login </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.nuxeoLogin</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.nuxeoLogin
              </property>
            </properties>
          </widget>
    
          <widget name="creationDate" type="datetime">
            <labels>
              <label mode="any">Creation Date </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.creationDate</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.creationDate
              </property>
            </properties>
          </widget>
    
          <widget name="duration" type="int">
            <labels>
              <label mode="any">Duration (in minutes)</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.durationInMinutes</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.durationInMinutes
              </property>
            </properties>
          </widget>
    
        </layout>
  • <layout name="oauthProviderTokenLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>appId</widget>
            </row>
            <row>
              <widget>consumerKey</widget>
            </row>
            <row>
              <widget>token</widget>
            </row>
            <row>
              <widget>tokenSecret</widget>
            </row>
            <row>
              <widget>userId</widget>
            </row>
            <row>
              <widget>creationDate</widget>
            </row>
            <!--<row>
              <widget>duration</widget>
            </row>-->
          </rows>
    
          <widget name="consumerKey" type="text">
            <labels>
              <label mode="any">Consumer Key</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.consumerKey</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.consumerKey
              </property>
            </properties>
          </widget>
    
          <widget name="appId" type="text">
            <labels>
              <label mode="any">AppId (Gadget) </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.appId</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.appId
              </property>
            </properties>
          </widget>
    
          <widget name="token" type="text">
            <labels>
              <label mode="any">OAUth Token </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.token</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.token
              </property>
            </properties>
          </widget>
    
          <widget name="tokenSecret" type="text">
            <labels>
              <label mode="any">OAUth Token Secret</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.tokenSecret</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.tokenSecret
              </property>
            </properties>
            <widgetModes>
               <mode value="list">hidden</mode>
            </widgetModes>
          </widget>
    
          <widget name="userId" type="text">
            <labels>
              <label mode="any">Nuxeo Login </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.clientId</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.nuxeoLogin
              </property>
            </properties>
          </widget>
    
          <widget name="creationDate" type="datetime">
            <labels>
              <label mode="any">Creation Date </label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.creationDate</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.creationDate
              </property>
            </properties>
          </widget>
    
          <widget name="duration" type="int">
            <labels>
              <label mode="any">Duration (in minutes)</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauthToken.durationInMinutes</field>
            </fields>
            <properties mode="any">
              <property name="help">
              label.oauth.help.durationInMinutes
              </property>
            </properties>
          </widget>
    
        </layout>
  • <layout name="oauth2ProviderTokenLayoutAdmin">
          <templates>
            <template mode="any">
              /directory/directoryOAuth_layout_template.xhtml
            </template>
          </templates>
          <rows>
            <row>
              <widget>id</widget>
            </row>
            <row>
              <widget>serviceName</widget>
            </row>
            <row>
              <widget>nuxeoLogin</widget>
            </row>
            <row>
              <widget>serviceLogin</widget>
            </row>
            <row>
              <widget>creationDate</widget>
            </row>
            <row>
              <widget>isShared</widget>
            </row>
            <row>
              <widget>sharedWith</widget>
            </row>
          </rows>
    
          <widget name="id" type="text">
            <labels>
              <label mode="any">Id</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Token.id</field>
            </fields>
            <widgetModes>
              <mode value="edit">hidden</mode>
            </widgetModes>
          </widget>
          <widget name="serviceName" type="text">
            <labels>
              <label mode="any">Service Name</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Token.serviceName</field>
            </fields>
          </widget>
          <widget name="nuxeoLogin" type="text">
            <labels>
              <label mode="any">Nuxeo Login</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Token.nuxeoLogin</field>
            </fields>
          </widget>
          <widget name="serviceLogin" type="text">
            <labels>
              <label mode="any">Service Login</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Token.serviceLogin</field>
            </fields>
          </widget>
          <widget name="creationDate" type="datetime">
            <labels>
              <label mode="any">Creation Date</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Token.creationDate</field>
            </fields>
          </widget>
          <widget name="isShared" type="checkbox">
            <labels>
              <label mode="any">Shared Token</label>
            </labels>
            <translated>true</translated>
            <fields>
              <field>oauth2Token.isShared</field>
            </fields>
          </widget>
          <widget name="sharedWith" type="multipleUsersSuggestion">
            <labels>
              <label mode="any">User/Groups allowed</label>
            </labels>
            <fields>
              <field>#{oauth2ProvidersTokensActions.sharedWith}</field>
            </fields>
            <properties widgetMode="edit">
              <property name="prefixed">true</property>
              <property name="minChars">3</property>
              <property name="hideHelpLabel">false</property>
            </properties>
            <widgetModes>
              <mode value="view_list">hidden</mode>
              <mode value="view_list_and_header">hidden</mode>
            </widgetModes>
          </widget>
    
        </layout>

XML Source

<extension point="layouts" target="org.nuxeo.ecm.platform.forms.layout.WebLayoutManager">

    <layout name="oauth2ClientsLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>clientName</widget>
        </row>
        <row>
          <widget>clientId</widget>
        </row>
        <row>
          <widget>clientSecret</widget>
        </row>
        <row>
          <widget>redirectURIs</widget>
        </row>
        <row>
          <widget>autoGrant</widget>
        </row>
        <row>
          <widget>enabled</widget>
        </row>

      </rows>

      <widget name="clientName" type="text">
        <labels>
          <label mode="any">label.oauth2.name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Client.name</field>
        </fields>
        <properties mode="any">
          <property name="help">
            label.oauth2.help.name
          </property>
        </properties>
        <properties widgetMode="edit">
          <property name="required">true</property>
        </properties>
      </widget>
      <widget name="clientId" type="text">
        <labels>
          <label mode="any">label.oauth2.clientId</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Client.clientId</field>
        </fields>
        <properties mode="any">
          <property name="help">
            label.oauth2.help.clientId
          </property>
        </properties>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="validator">#{oauth2ClientsActions.validateClientId}</property>
        </properties>
      </widget>
      <widget name="clientSecret" type="text">
        <labels>
          <label mode="any">label.oauth2.clientSecret</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Client.clientSecret</field>
        </fields>
        <properties mode="any">
          <property name="help">
            label.oauth2.help.clientSecret
          </property>
        </properties>
      </widget>
      <widget name="redirectURIs" type="text">
        <labels>
          <label mode="any">label.oauth2.redirectURIs</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Client.redirectURIs</field>
        </fields>
        <properties mode="any">
          <property name="help">
            label.oauth2.help.redirectURIs
          </property>
        </properties>
        <properties widgetMode="edit">
          <property name="required">true</property>
          <property name="validator">#{oauth2ClientsActions.validateRedirectURIs}</property>
          <property name="placeholder">#{messages['label.oauth2.redirectURIs.placeholder']}</property>
        </properties>
      </widget>
      <widget name="autoGrant" type="checkbox">
        <labels>
          <label mode="any">label.oauth2.autoGrant</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Client.autoGrant</field>
        </fields>
        <properties mode="any">
          <property name="help">
            label.oauth2.help.autoGrant
          </property>
        </properties>
      </widget>
      <widget name="enabled" type="checkbox">
        <labels>
          <label mode="any">label.oauth2.enabled</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Client.enabled</field>
        </fields>
      </widget>
    </layout>

    <layout name="oauthConsumerLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>consumerKey</widget>
        </row>
        <row>
          <widget>consumerSecret</widget>
        </row>
        <row>
          <widget>publicKey</widget>
        </row>
        <row>
          <widget>description</widget>
        </row>
        <row>
          <widget>signedFetchSupport</widget>
          <widget>dedicatedLogin</widget>
        </row>
        <row>
          <widget>callbackURL</widget>
        </row>
        <row>
          <widget>allowBypassVerifier</widget>
        </row>
        <row>
          <widget>enabled</widget>
        </row>

      </rows>

      <widget name="consumerKey" type="text">
        <labels>
          <label mode="any">Consumer Key</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.consumerKey</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.consumerKey
          </property>
        </properties>
      </widget>
      <widget name="consumerSecret" type="text">
        <labels>
          <label mode="any">Consumer Secret (HMAC Signature) </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.consumerSecret</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.consumerSecret
          </property>
        </properties>
      </widget>
      <widget name="publicKey" type="textarea">
        <labels>
          <label mode="any">Consumer Public Key (RSA Signature) </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.publicKey</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.publicKey
          </property>
        </properties>
      </widget>
      <widget name="enabled" type="checkbox">
        <labels>
          <label mode="any">Enabled</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.enabled</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.enabled
          </property>
        </properties>
      </widget>
      <widget name="description" type="text">
        <labels>
          <label mode="any">Description</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.description</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.description
          </property>
        </properties>
      </widget>
      <widget name="signedFetchSupport" type="template">
        <labels>
          <label mode="any">Allow 2 legged auth</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.signedFetchSupport</field>
          <field>oauthConsumer.dedicatedLogin</field>
        </fields>
        <properties mode="any">
        <property name="template">
          /widgets/signedFetch_widget_template.xhtml
        </property>
        <property name="help">
        label.oauth.help.signedFetchSupport
        </property>
        </properties>
      </widget>
      <widget name="callbackURL" type="text">
        <labels>
          <label mode="any">Callback URL</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.callbackURL</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.callbackURL
          </property>
        </properties>
      </widget>
      <widget name="allowBypassVerifier" type="checkbox">
        <labels>
          <label mode="any">Allow OAuth verifier check bypass</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthConsumer.allowBypassVerifier</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.enabled
          </property>
        </properties>
      </widget>

    </layout>


    <layout name="oauthServiceProviderLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>gadgetUrl</widget>
        </row>
        <row>
          <widget>serviceName</widget>
        </row>
        <row>
          <widget>consumerKey</widget>
        </row>
        <row>
          <widget>consumerSecret</widget>
        </row>
        <!--<row>
          <widget>publicKey</widget>
        </row>-->
        <row>
          <widget>description</widget>
        </row>
        <row>
          <widget>requestTokenURL</widget>
        </row>
        <row>
          <widget>userAuthorizationURL</widget>
        </row>
        <row>
          <widget>accessTokenURL</widget>
        </row>
        <row>
          <widget>enabled</widget>
        </row>
      </rows>

      <widget name="consumerKey" type="text">
        <labels>
          <label mode="any">Consumer Key</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.consumerKey</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.consumerKey
          </property>
          <property name="size">60</property>
        </properties>
      </widget>
      <widget name="consumerSecret" type="text">
        <labels>
          <label mode="any">Consumer Secret (HMAC Signature) </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.consumerSecret</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.consumerSecret
          </property>
          <property name="size">60</property>
        </properties>
      </widget>
      <widget name="publicKey" type="text">
        <labels>
          <label mode="any">Consumer Public Key (RSA Signature) </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.publicKey</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.publicKey
          </property>
          <property name="size">100</property>
        </properties>
      </widget>
      <widget name="enabled" type="checkbox">
        <labels>
          <label mode="any">Enabled</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.enabled</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.enabled
          </property>
        </properties>
      </widget>
      <widget name="description" type="text">
        <labels>
          <label mode="any">Description</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.description</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.description
          </property>
          <property name="size">30</property>
        </properties>
      </widget>
      <widget name="requestTokenURL" type="text">
        <labels>
          <label mode="any">Request Token URL</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.requestTokenURL</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.requestTokenURL
          </property>
          <property name="size">50</property>
        </properties>
      </widget>
      <widget name="userAuthorizationURL" type="text">
        <labels>
          <label mode="any">Authorization URL</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.userAuthorizationURL</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.userAuthorizationURL
          </property>
          <property name="size">50</property>
        </properties>
      </widget>
      <widget name="accessTokenURL" type="text">
        <labels>
          <label mode="any">AccessToken URL</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.accessTokenURL</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.accessTokenURL
          </property>
          <property name="size">50</property>
        </properties>
      </widget>
      <widget name="gadgetUrl" type="text">
        <labels>
          <label mode="any">Gadget URL</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.gadgetUrl</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.gadgetUrl
          </property>
          <property name="size">50</property>
        </properties>
      </widget>
      <widget name="serviceName" type="text">
        <labels>
          <label mode="any">Service name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthServiceProvider.serviceName</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.serviceName
          </property>
        </properties>
      </widget>

    </layout>

<layout name="oauth2ServiceProviderLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>serviceName</widget>
        </row>
        <row>
          <widget>description</widget>
        </row>
        <row>
          <widget>clientId</widget>
        </row>
        <row>
          <widget>clientSecret</widget>
        </row>
        <row>
          <widget>authorizationServerURL</widget>
        </row>
        <row>
          <widget>tokenServerURL</widget>
        </row>
        <row>
          <widget>userAuthorizationURL</widget>
        </row>
        <row>
          <widget>scopes</widget>
        </row>
        <row>
          <widget>enabled</widget>
        </row>
      </rows>

      <widget name="serviceName" type="text">
        <labels>
          <label mode="any">Service Name</label>
        </labels>
        <fields>
          <field>oauth2ServiceProvider.serviceName</field>
        </fields>
      </widget>
      <widget name="authorizationServerURL" type="text">
        <labels>
          <label mode="any">Authorization Server URL</label>
        </labels>
        <fields>
          <field>oauth2ServiceProvider.authorizationServerURL</field>
        </fields>
        <properties mode="edit">
           <property name="size">50</property>
        </properties>
        <widgetModes>
          <mode value="view_list">hidden</mode>
          <mode value="view_list_and_header">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="tokenServerURL" type="text">
        <labels>
          <label mode="any">Token Server URL</label>
        </labels>
        <fields>
          <field>oauth2ServiceProvider.tokenServerURL</field>
        </fields>
        <properties mode="edit">
           <property name="size">50</property>
        </properties>
        <widgetModes>
          <mode value="view_list">hidden</mode>
          <mode value="view_list_and_header">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="clientId" type="text">
        <labels>
          <label mode="any">ClientID</label>
        </labels>
        <fields>
          <field>oauth2ServiceProvider.clientId</field>
        </fields>
        <properties mode="edit">
           <property name="size">40</property>
        </properties>
        <widgetModes>
          <mode value="view_list">hidden</mode>
          <mode value="view_list_and_header">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="userAuthorizationURL" type="text">
        <labels>
          <label mode="any">User Authorization URL</label>
        </labels>
        <fields>
          <field>oauth2ServiceProvider.userAuthorizationURL</field>
        </fields>
        <properties mode="edit">
           <property name="size">50</property>
        </properties>
        <widgetModes>
          <mode value="view_list">hidden</mode>
          <mode value="view_list_and_header">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="clientSecret" type="text">
        <labels>
          <label mode="any">Client Secret</label>
        </labels>
        <fields>
          <field>oauth2ServiceProvider.clientSecret</field>
        </fields>
        <properties mode="edit">
           <property name="size">60</property>
        </properties>
        <widgetModes>
          <mode value="view_list">hidden</mode>
          <mode value="view_list_and_header">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="scopes" type="text">
        <labels>
          <label mode="any">Scopes</label>
        </labels>
        <fields>
          <field>oauth2ServiceProvider.scopes</field>
        </fields>
        <widgetModes>
          <mode value="view_list">hidden</mode>
          <mode value="view_list_and_header">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="enabled" type="checkbox">
        <labels>
          <label mode="any">Enabled</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2ServiceProvider.enabled</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.enabled
          </property>
        </properties>
      </widget>
      <widget name="description" type="text">
        <labels>
          <label mode="any">Description</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2ServiceProvider.description</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.description
          </property>
        </properties>
      </widget>

    </layout>

    <layout name="externalGadgetLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>id</widget>
        </row>
        <row>
          <widget>label</widget>
        </row>
        <row>
          <widget>enabled</widget>
        </row>
        <row>
          <widget>category</widget>
        </row>
        <row>
          <widget>url</widget>
        </row>
      </rows>

      <widget name="id" type="text">
        <labels>
          <label mode="any">label.externalGadgetLayoutAdmin.name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>externalgadget.id</field>
        </fields>
      </widget>
      <widget name="label" type="text">
        <labels>
          <label mode="any">label.externalGadgetLayoutAdmin.label</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>externalgadget.label</field>
        </fields>
      </widget>
      <widget name="enabled" type="template">
        <labels>
          <label mode="any">label.externalGadgetLayoutAdmin.enabled</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>externalgadget.enabled</field>
        </fields>
        <properties mode="any">
        <property name="template">
          /widgets/integer_yes_no_widget_template.xhtml
        </property>
      </properties>

      </widget>
      <widget name="category" type="text">
        <labels>
          <label mode="any">label.externalGadgetLayoutAdmin.category</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>externalgadget.category</field>
        </fields>
      </widget>
      <widget name="url" type="text">
        <labels>
          <label mode="any">label.externalGadgetLayoutAdmin.gadgeturl</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>externalgadget.url</field>
        </fields>
      </widget>

      <widget name="iconUrl" type="text">
        <labels>
          <label mode="any">label.externalGadgetLayoutAdmin.iconurl</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>externalgadget.iconUrl</field>
        </fields>
      </widget>

    </layout>















  <layout name="oauthConsumerTokenLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>appId</widget>
        </row>
        <row>
          <widget>consumerKey</widget>
        </row>
        <row>
          <widget>token</widget>
        </row>
        <row>
          <widget>tokenSecret</widget>
        </row>
        <row>
          <widget>nuxeoLogin</widget>
        </row>
        <row>
          <widget>creationDate</widget>
        </row>
        <row>
          <widget>duration</widget>
        </row>
      </rows>

      <widget name="consumerKey" type="text">
        <labels>
          <label mode="any">Consumer Key</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.consumerKey</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.consumerKey
          </property>
        </properties>
      </widget>

      <widget name="appId" type="text">
        <labels>
          <label mode="any">AppId (Gadget) </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.appId</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.appId
          </property>
        </properties>
      </widget>

      <widget name="token" type="text">
        <labels>
          <label mode="any">OAUth Token </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.token</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.token
          </property>
        </properties>
      </widget>

      <widget name="tokenSecret" type="text">
        <labels>
          <label mode="any">OAUth Token Secret</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.tokenSecret</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.tokenSecret
          </property>
        </properties>
      </widget>

      <widget name="nuxeoLogin" type="text">
        <labels>
          <label mode="any">Nuxeo Login </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.nuxeoLogin</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.nuxeoLogin
          </property>
        </properties>
      </widget>

      <widget name="creationDate" type="datetime">
        <labels>
          <label mode="any">Creation Date </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.creationDate</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.creationDate
          </property>
        </properties>
      </widget>

      <widget name="duration" type="int">
        <labels>
          <label mode="any">Duration (in minutes)</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.durationInMinutes</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.durationInMinutes
          </property>
        </properties>
      </widget>

    </layout>






  <layout name="oauthProviderTokenLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>appId</widget>
        </row>
        <row>
          <widget>consumerKey</widget>
        </row>
        <row>
          <widget>token</widget>
        </row>
        <row>
          <widget>tokenSecret</widget>
        </row>
        <row>
          <widget>userId</widget>
        </row>
        <row>
          <widget>creationDate</widget>
        </row>
        <!--<row>
          <widget>duration</widget>
        </row>-->
      </rows>

      <widget name="consumerKey" type="text">
        <labels>
          <label mode="any">Consumer Key</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.consumerKey</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.consumerKey
          </property>
        </properties>
      </widget>

      <widget name="appId" type="text">
        <labels>
          <label mode="any">AppId (Gadget) </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.appId</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.appId
          </property>
        </properties>
      </widget>

      <widget name="token" type="text">
        <labels>
          <label mode="any">OAUth Token </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.token</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.token
          </property>
        </properties>
      </widget>

      <widget name="tokenSecret" type="text">
        <labels>
          <label mode="any">OAUth Token Secret</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.tokenSecret</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.tokenSecret
          </property>
        </properties>
        <widgetModes>
           <mode value="list">hidden</mode>
        </widgetModes>
      </widget>

      <widget name="userId" type="text">
        <labels>
          <label mode="any">Nuxeo Login </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.clientId</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.nuxeoLogin
          </property>
        </properties>
      </widget>

      <widget name="creationDate" type="datetime">
        <labels>
          <label mode="any">Creation Date </label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.creationDate</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.creationDate
          </property>
        </properties>
      </widget>

      <widget name="duration" type="int">
        <labels>
          <label mode="any">Duration (in minutes)</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauthToken.durationInMinutes</field>
        </fields>
        <properties mode="any">
          <property name="help">
          label.oauth.help.durationInMinutes
          </property>
        </properties>
      </widget>

    </layout>


  <layout name="oauth2ProviderTokenLayoutAdmin">
      <templates>
        <template mode="any">
          /directory/directoryOAuth_layout_template.xhtml
        </template>
      </templates>
      <rows>
        <row>
          <widget>id</widget>
        </row>
        <row>
          <widget>serviceName</widget>
        </row>
        <row>
          <widget>nuxeoLogin</widget>
        </row>
        <row>
          <widget>serviceLogin</widget>
        </row>
        <row>
          <widget>creationDate</widget>
        </row>
        <row>
          <widget>isShared</widget>
        </row>
        <row>
          <widget>sharedWith</widget>
        </row>
      </rows>

      <widget name="id" type="text">
        <labels>
          <label mode="any">Id</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Token.id</field>
        </fields>
        <widgetModes>
          <mode value="edit">hidden</mode>
        </widgetModes>
      </widget>
      <widget name="serviceName" type="text">
        <labels>
          <label mode="any">Service Name</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Token.serviceName</field>
        </fields>
      </widget>
      <widget name="nuxeoLogin" type="text">
        <labels>
          <label mode="any">Nuxeo Login</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Token.nuxeoLogin</field>
        </fields>
      </widget>
      <widget name="serviceLogin" type="text">
        <labels>
          <label mode="any">Service Login</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Token.serviceLogin</field>
        </fields>
      </widget>
      <widget name="creationDate" type="datetime">
        <labels>
          <label mode="any">Creation Date</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Token.creationDate</field>
        </fields>
      </widget>
      <widget name="isShared" type="checkbox">
        <labels>
          <label mode="any">Shared Token</label>
        </labels>
        <translated>true</translated>
        <fields>
          <field>oauth2Token.isShared</field>
        </fields>
      </widget>
      <widget name="sharedWith" type="multipleUsersSuggestion">
        <labels>
          <label mode="any">User/Groups allowed</label>
        </labels>
        <fields>
          <field>#{oauth2ProvidersTokensActions.sharedWith}</field>
        </fields>
        <properties widgetMode="edit">
          <property name="prefixed">true</property>
          <property name="minChars">3</property>
          <property name="hideHelpLabel">false</property>
        </properties>
        <widgetModes>
          <mode value="view_list">hidden</mode>
          <mode value="view_list_and_header">hidden</mode>
        </widgetModes>
      </widget>

    </layout>

  </extension>